const jwt = require('jsonwebtoken');
const { sendError } = require('../../pages/utils/responseHandler');

const verifyToken = (req, res, next) => {
    const token = req.headers.authorization?.split(' ')[1]; // Bearer token

    if (!token) {
        return sendError(res, '没有提供Token', 401);
    }

    try {
        req.user = jwt.verify(token,'linweifeng123456789'); // 将解码后的用户信息存储在请求对象中
        next(); // 继续处理请求
    } catch (error) {
        if (error.name === 'JsonWebTokenError') {
            sendError(res, '无效的Token', 401);
        } else if (error.name === 'TokenExpiredError') {
            sendError(res, 'Token已过期', 401);
        } else {
            sendError(res, '内部服务器错误', 500);
        }
    }
};

module.exports = verifyToken;
